home *** CD-ROM | disk | FTP | other *** search
/ APDL Best Games 3 / APDL Best Games 3.iso / _superfe / code (.txt) < prev    next >
Encoding:
RISC OS BBC BASIC V Source  |  2000-10-15  |  14.7 KB  |  725 lines

  1.  Super Foul Egg
  2.  Yet another Conversion from the Amiga.
  3.  Started Wed 31st January 1996 by
  4.  Owain Cole. 
  5.  Visions of the Impossible.
  6. *KEY 1 QUIT|M
  7. $;" at line ";
  8. ("FX 15"):
  9. error
  10. *FX 15,1
  11. *PlayPause 1
  12.  "Stasis_VolSlide",1,0,20
  13.  "Stasis_VolSlide",2,0,20
  14.  "Stasis_VolSlide",3,0,20
  15.  "Stasis_VolSlide",4,0,20
  16. setupplayers
  17. setupscreen(npl%)
  18. A%=area%
  19. B%=npl%
  20. C%=options%
  21. D%=memtemp%
  22. palive%=
  23. (gameloop)
  24. somebodieswon(palive%)
  25.  "OS_CheckModeValid",49 
  26.  yesno%
  27.  "XOS_Module",18,"Portable" 
  28.  ;flags%
  29.  (flags% 
  30.  1)=0 
  31.  yesno%=-1
  32.  yesno%<0 
  33.  vga%=
  34.  vga%=
  35. <100 
  36. <>13 
  37. <>49 
  38.      
  39.  vga%=
  40.      
  41.  Check for Sprite Extend
  42.  "XOS_Module",18,"SpriteExtend" 
  43.  ;flags%
  44. spop%=52
  45.  (flags% 
  46.  1)=1 
  47.  vga%=
  48. :spop%=34:
  49. <>13 
  50.  Check for joystick
  51.  "XOS_Module",18,"Joystick" 
  52.  ;flags%
  53. joystick%=
  54.  flags% 
  55.  joystick%=
  56.  "Huffman_Decompress",-1,"<SFEG$Dir>.ScreensHuf" 
  57.  backspritelen%
  58. backspritelen%+=4
  59.  backsprites% backspritelen%
  60. 8 !backsprites%=backspritelen%
  61.  "Huffman_Decompress",backsprites%+4,"<SFEG$Dir>.ScreensHuf"
  62.  "Huffman_Decompress",-1,"<SFEG$Dir>.MenuBsHuff" 
  63.  spritelen%
  64. spritelen%+=4
  65.  spr% spritelen%
  66. !spr%=spritelen%
  67.  "Huffman_Decompress",spr%+4,"<SFEG$Dir>.MenuBsHuff"
  68. ("<SFER$Dir>.Inkeys")
  69.  X=0 
  70.  1,"Inkeys not found."
  71. keylen%=
  72.  keys% keylen%
  73. ("Load <SFER$Dir>.Inkeys &"+
  74. ~keys%)
  75.  Set up pointer for enter key
  76.  &2E,256+36,spr%,"ptr_enter",2+(%1100000),0,0,0,0
  77. cols%=4
  78. npl%=2
  79. lowcompspeed%=3
  80. hicompspeed%=1
  81.  memtemp% 1024,partexplo% 4*1024
  82.  Controls bit! -1 IS COMPUTER CONTROLED
  83.  ctrls%(4)
  84.  options% 1024,vduin% 20,vduout% 20,scale% 20
  85. scale%!0=2
  86. scale%!4=2
  87. scale%!8=2
  88. scale%!12=2
  89. assemble
  90. vduin%!0=148
  91. vduin%!4=149
  92. vduin%!8=7
  93. vduin%!12=-1
  94. d)options%!0=8  :
  95.  Player falling speed
  96. e$options%!4=cols%  :
  97.  No. colours
  98. f8options%!8=&FF:
  99.  Auto falling if &FF, or manual if 0
  100. g7options%!16=lowcompspeed% :
  101.  Computer falling speed
  102. options%!20=memtemp%
  103. options%!24=partexplo%
  104. options%!512=1 :
  105.  loop%=0 
  106. l!options%!(28+(loop%*4))=loop%
  107. options%!48=2
  108.  Load the new key set if any?
  109.  "XOS_CLI","Load <SFEops$Dir>.Keys &"+
  110. ~keys
  111. loadoptions
  112.  area% 1024*4
  113.  Scores dim!!
  114.  score%(4)
  115. letgo%=
  116.  Dont allow escape
  117. *FX 14,6
  118. fadeout
  119. *PLAYPAUSE 0
  120.  &6,112,2
  121. scale%!0=2
  122. scale%!4=2
  123. scale%!8=2
  124. scale%!12=2
  125.  vga%=
  126.      yoff%=0
  127.      res%=2:scale%!4=4
  128.      
  129.      yoff%=16*4
  130.      res%=0:scale%!4=2
  131.      
  132.  &2E,spop%+256,backsprites%,"menu",0,yoff%,0,scale%,0
  133. drawkeys
  134. drawcols
  135. drawplayers
  136. drawspeed
  137. tickm
  138.  &6,122,1
  139. fadeup
  140. *FX 13,6
  141.  Reallow escape
  142.  X%,Y%,Z%
  143. (-26) 
  144.  X%-=8:
  145.  X%,Y%
  146. (-122) 
  147.  X%+=8:
  148.  X%,Y%
  149. (-58) 
  150.  Y%+=8:
  151.  X%,Y%
  152. (-42) 
  153.  Y%-=8:
  154.  X%,Y%
  155.  Z%<>0 
  156. (-74)
  157. Y%=Y%-yoff%
  158.  (X%>670 
  159.  Y%<811) 
  160.  (X%<703 
  161.  Y%>781) 
  162.  options%!8=&FF:
  163. tickm
  164.  (X%>670 
  165.  Y%<874) 
  166.  (X%<703 
  167.  Y%>847) 
  168.  options%!8=0:
  169. tickm
  170.  (X%>937 
  171.  Y%<742) 
  172.  (X%<973 
  173.  Y%>715) 
  174.  options%!16=lowcompspeed%:
  175. tickm
  176.  (X%>1030 
  177.  Y%<742) 
  178.  (X%<(1030+36) 
  179.  Y%>715) 
  180.  options%!16=(lowcompspeed%+hicompspeed%)/2:
  181. tickm
  182.  (X%>1123 
  183.  Y%<742) 
  184.  (X%<1157 
  185.  Y%>715) 
  186.  options%!16=hicompspeed%:
  187. tickm
  188.  (X%>43 
  189.  Y%<148) 
  190.  (X%<103 
  191.  Y%>72) 
  192.  options%!4>3 
  193.  options%!4=options%!4-1:
  194. drawcols:letgo%=
  195.  (X%>502 
  196.  Y%<148) 
  197.  (X%<562 
  198.  Y%>72) 
  199.  options%!4<6 
  200.  options%!4=options%!4+1:
  201. drawcols:letgo%=
  202.  X%>828 
  203.  Y%<506 
  204.  X%<1195 
  205.  Y%>293 
  206. checkchangekey(X%,Y%)
  207.  X%>58 
  208.  Y%<838 
  209.  X%<121 
  210.  Y%>754 
  211.  npl%>2 
  212.  npl%-=1:
  213. drawplayers:letgo%=
  214.  X%>394 
  215.  Y%<838 
  216.  X%<454 
  217.  Y%>754 
  218.  npl%<4 
  219.  npl%+=1:
  220. drawplayers:letgo%=
  221.  X%>130 
  222.  X%<386 
  223.  Y%>769 
  224.  Y%<833 
  225. changeaplayer(X%,Y%):letgo%=
  226.  X%>61 
  227.  Y%>475 
  228.  X%<115 
  229.  Y%<533 
  230.  options%!0<9 
  231.  options%!0=options%!0+1:
  232. drawspeed:letgo%=
  233.  X%>338 
  234.  Y%>475 
  235.  X%<454 
  236.  Y%<533 
  237.  options%!0>1 
  238.  options%!0=options%!0-1:
  239. drawspeed:letgo%=
  240.  X%>750 
  241.  Y%<172 
  242.  X%<824 
  243.  Y%>89 
  244. savestuff
  245.  X%>1048 
  246.  X%<2201 
  247.  Y%>85 
  248.  Y%<163 
  249. fadeout:
  250.  Next bit makes sure they've let go of the button
  251.  letgo%=
  252.  X%,Y%,Z%
  253.  Z%=0 
  254. (-74))
  255. letgo%=
  256.  (X%>859 
  257.  Y%<166) 
  258.  (X%<1009 
  259.  Y%>91)
  260.  Reset scores
  261.  loop%=1 
  262. score%(loop%)=0
  263. tickm
  264.  options%!8=&FF 
  265. tick(670,776):
  266. untick(670,840) 
  267. untick(670,776):
  268. tick(670,840)
  269.  options%!16=lowcompspeed% 
  270. @          
  271. tick(937,708):
  272. untick(1123,708):
  273. untick(1030,708)
  274.           
  275.           
  276.  options%!16=hicompspeed% 
  277. untick(937,708):
  278. tick(1123,708):
  279. untick(1030,708) 
  280. untick(937,708):
  281. untick(1123,708):
  282. tick(1030,708)
  283.           
  284. drawplayers
  285.  loop%
  286.  loop%=1 
  287.  npl%
  288.  &2E,spop%+256,spr%,"pl"+
  289. ctrls%(loop%),66+loop%*64,770+yoff%,0,scale%,0
  290.  npl%<4 
  291.  loop%=npl%+1 
  292.  &2E,spop%+256,spr%,"blank",66+loop%*64,770+yoff%,0,scale%,0
  293. drawspeed
  294.  loop%,speed%
  295. speed%=9-(options%!0)
  296.  speed%>0 
  297.  loop%=1 
  298.  speed%
  299.  &2E,spop%+256,spr%,"speedbar",98+loop%*32,484+yoff%,0,scale%,0
  300.  speed%<8 
  301.  loop%=speed%+1 
  302.  &2E,spop%+256,spr%,"halfblank",98+loop%*32,484+yoff%,0,scale%,0
  303. changeaplayer(x%,y%)
  304. x%=1+(x%-130)/64
  305.  ctrls%(x%) 
  306.  joystick%=
  307.  ctrls%(x%)=5 
  308.  ctrls%(x%)=x%-1
  309.  0,1,2,3:ctrls%(x%)=-1
  310.  4:ctrls%(x%)=x%-1
  311.  5:ctrls%(x%)=4
  312. drawplayers
  313. drawcols
  314.  numofcs%,loop%
  315. numofcs%=options%!4
  316.  loop%=1 
  317.  numofcs%
  318.  &2E,spop%+256,spr%,"cl"+
  319. loop%,48+loop%*64,82+yoff%,0,scale%,0
  320.  numofcs%<6 
  321.  loop%=numofcs%+1 
  322.  &2E,spop%+256,spr%,"blank",48+loop%*64,82+yoff%,0,scale%,0
  323. checkchangekey(X%,Y%)
  324.  loop%,y%
  325.  loop%=0 
  326. y%=473-loop%*60
  327.  X%>828 
  328.  Y%>y% 
  329.  X%<828+34 
  330.  Y%<y%+34 
  331. changekey(loop%,0)
  332.  X%>938 
  333.  Y%>y% 
  334.  X%<938+34 
  335.  Y%<y%+34 
  336. changekey(loop%,1)
  337.  X%>1050 
  338.  Y%>y% 
  339.  X%<1050+34 
  340.  Y%<y%+34 
  341. changekey(loop%,2)
  342.  X%>1161 
  343.  Y%>y% 
  344.  X%<1161+34 
  345.  Y%<y%+34 
  346. changekey(loop%,3)
  347. changekey(set%,key%)
  348.  pointer%,inkey%,y%,x%,loop%
  349.  pointer%=keys+set%*16+key%*4
  350.  &06,106,2   :
  351.  Select the pointer
  352. y%=473-set%*60+yoff%
  353. x%=828+key%*111
  354.  &2E,256+spop%,spr%,"kblank",x%,y%,0,scale%,0
  355. (-74))
  356. inkey%=0
  357.  loop%=1 
  358. (-loop%) 
  359.  keys%!((loop%-1)<<2)<>0 
  360.  inkey%=-loop%
  361.  X%,Y%,Z%       :
  362.  This unbuffers the mouse!
  363.  inkey%<>0
  364. !pointer%=inkey%
  365.  &06,106,1  :
  366.  Reselect the pointer
  367. drawkeys
  368. letgo%=
  369. drawkeys
  370.  yloop%,xloop%,y%,inkey%,x%
  371.  yloop%=0 
  372. y%=473-yloop%*60+yoff%
  373.  xloop%=0 
  374. x%=828+xloop%*111
  375. 1-inkey%=
  376. (keys!((yloop%*16)+(xloop%*4)))-1
  377.  &2E,256+spop%,spr%,$(keys%+keys%!(inkey%*4)),x%,y%,0,scale%,0
  378. tick(X%,Y%)
  379.  &2E,spop%+256,spr%,"tick",X%,Y%+yoff%,0,scale%,0
  380. untick(X%,Y%)
  381.  &2E,spop%+256,spr%,"emttick",X%,Y%+yoff%,0,scale%,0
  382. dm(num%)
  383. @!=area%+((num%-1) 
  384.  npl%)*1024
  385. setupplayers
  386. rndseed%=
  387. D leftcol%=142+
  388. (options%!4)*4
  389. E!rightcol%=142+
  390. (options%!4)*4
  391.  npl%=1 
  392.  npl%=2:ctrls%(2)=-1
  393. setupplayer(area%,ctrls%(1),16,32,area%+1024,
  394. dm(npl%),1,rndseed%,leftcol%,rightcol%)
  395. setupplayer(area%+1024,ctrls%(2),160+48,32,
  396. dm(3),area%,2,rndseed%,leftcol%,rightcol%)
  397.  npl%>2 
  398. setupplayer(area%+2048,ctrls%(3),16,240+32,
  399. dm(4),area%+1024,3,rndseed%,leftcol%,rightcol%)
  400.  npl%>3 
  401. setupplayer(area%+3072,ctrls%(4),160+48,240+32,area%,area%+2048,4,rndseed%,leftcol%,rightcol%)
  402. setupscreen(players%)
  403.  Disallow escape
  404. *FX 14,6
  405. fadeout
  406.  &06,112,2      :
  407.  Set Vdu to other bank
  408. scale%!0=2
  409. scale%!4=2
  410. scale%!8=2
  411. scale%!12=2
  412. res%=0
  413.  vga%=
  414.      yoff%=0
  415.      res%=2:scale%!4=4
  416. \)     
  417.  players%>2 
  418.  res%=0:scale%!4=2
  419.      
  420.      yoff%=16*4
  421.      res%=0:scale%!4=2
  422. `)     
  423.  players%>2 
  424.  res%=1:scale%!4=1
  425.      
  426. options%!12=res%
  427. c*!resoltion=res%  :
  428.  Just to make sure!
  429.  &2E,spop%+256,backsprites%,"playfield",0,yoff%,0,scale%,0
  430.  players%>2 
  431.  &2E,spop%+256,backsprites%,"playfield",0,yoff%+120*4,0,scale%,0
  432.  players%=3 
  433. g$    A%=area%+1024*3  :
  434.  Player 4
  435.     A%!0=0
  436.     A%!756=160+48
  437.     A%!760=240+32
  438.  xloop%=0 
  439.  yloop%=0 
  440. mT    
  441.  (xloop% 
  442.  7)=0 
  443.  A%?(40+xloop%+yloop%*8)=254 
  444.  A%?(40+xloop%+yloop%*8)=255
  445. n#    A%?(368+xloop%+yloop%*8)=25
  446. o        
  447. p        
  448.     A%?(40+1+12*8)=252
  449.     A%?(40+6+12*8)=253
  450.  xloop%=2 
  451.     A%?(40+xloop%+12*8)=255
  452. u        
  453.     C%=options%
  454.  drawplayersscreen
  455. x        
  456. yKpartexplo%!0=&FF000000  :
  457.  Set the end of the particale explosion thing
  458. plotscore(1)
  459. plotscore(2)
  460.  players%>2 
  461. plotscore(3)
  462.  players%>3 
  463. plotscore(4)
  464. plotnametags
  465.  &06,112,1
  466. fadeup
  467. drawpausedscreen
  468. *FX 13,6
  469. setupplayer(t%,control%,xco%,yco%,passto%,getfrom%,soundchan%,rndseed%,leftcol%,rightcol%)
  470.  xloop%=0 
  471.  yloop%=0 
  472.  (xloop% 
  473.  7)=0 
  474.  t%?(40+xloop%+yloop%*8)=254 
  475.  t%?(40+xloop%+yloop%*8)=0
  476. t%?(40+1+12*8)=252
  477. t%?(40+6+12*8)=253
  478.  xloop%=2 
  479. t%?(40+xloop%+12*8)=255
  480. .!t%=0          :
  481.  Set it at start of thing
  482. t%!4=5
  483. t%!8=-1
  484. t%!16=1
  485. t%!20=0
  486. t%!28=control%
  487. t%!32=0
  488. t%!36=0
  489. t%!144=0
  490. t%!756=xco%
  491. t%!760=yco%
  492. t%!728=getfrom%
  493. t%!732=passto%
  494. t%!772=rndseed%
  495. t%!800=soundchan%
  496. t%!810=0
  497. t%?808=leftcol%
  498. t%?809=rightcol%
  499.  xco%<160 
  500.  t%!792=xco%+16*6+8 
  501.  t%!792=xco%-16*3+8
  502. t%!796=yco%+16*3+4
  503. t%?148=255
  504.  loop%=t%+368 
  505.  t%+471
  506. ?loop%=251
  507.  npl%>2 
  508.  t%!816=soundchan% 
  509.  t%!816=soundchan%+2
  510. assemble
  511. limit%=100*1024
  512.  code% limit%
  513. ("Load <SFE$Dir>.GameCode &"+
  514. ~code%)
  515. gameloop=code%+!code%
  516. #drawplayersscreen=code%+code%!4
  517. keys=code%+code%!8
  518. resoltion=code%+code%!12
  519.  graphicsindex=code%+code%!16
  520. !partexplocode%=code%+code%!20
  521.  "XOS_CLI","Load <SFEG$Dir>.<IndexFile> &"+
  522. ~graphicsindex
  523. fadeoutandend
  524. *FX 14,6
  525. fadeout
  526. *FX 13,6
  527. error
  528. (-2) 
  529. fadeoutandend:
  530. "Ohh dear, the game has a hidious bug in it. Arrrrgggggh. Please tell somebody in the 'know' that this has happened. Or just play on like you normally do since you have no conscious."
  531. " For those in the know,"
  532. $;" at line ";
  533. *FX 13,6
  534. somebodieswon(pl%)
  535.  plyrs%,poi%
  536.  pl%>-1 
  537.  pl%<4 
  538.  score%(pl%+1)+=1
  539. plyrs%=((npl%-1) 
  540.  2)+1
  541.  loop%=0 
  542.  npl%-1
  543.  vga%=
  544.      yoff%=0
  545.      res%=2:scale%!4=4
  546.      
  547.      yoff%=16*4
  548.      res%=0:scale%!4=2
  549.      
  550. poi%=area%+1024*loop%
  551.  loop%<2 
  552.  npl%>2 
  553.  ypos%=600+yoff%
  554.  loop%<2 
  555.  npl%<3 
  556.  ypos%=400+yoff%
  557.  loop%>1 
  558.  ypos%=150+yoff%
  559.  pl%<>loop% 
  560. K    
  561.  &2E,256+spop%,spr%,"pressakey",100+(poi%!756)*4,ypos%,0,scale%,0
  562.         
  563. D    
  564.  &2E,256+spop%,spr%,"winner",(poi%!756)*4,ypos%,0,scale%,0
  565. plotscore(loop%+1)
  566.         
  567.  partexplocode%
  568. >T+50
  569. *FX 15,1
  570.  partexplocode%
  571.  joystick%=
  572. %        
  573.  "Joystick_Read",0 
  574. '        
  575.  (R0 
  576.  &10000)<>0 
  577.  I$="H"
  578. %        
  579.  "Joystick_Read",1 
  580. '        
  581.  (R0 
  582.  &10000)<>0 
  583.  I$="H"
  584.         
  585.  I$<>""
  586. plotscore(pl%)
  587.  xpo%,ypos%,score$,loop%
  588.  vga%=
  589.      yoff%=0
  590.      scale%!4=4
  591. %     
  592.  npl%>2 
  593.  res%=0:scale%!4=2
  594.      
  595.      yoff%=16*4
  596.      scale%!4=2
  597. %     
  598.  npl%>2 
  599.  res%=1:scale%!4=1
  600.      
  601.  npl%>2 
  602. %    
  603.  pl%=1 
  604.  xpos%=570:ypos%=675
  605. %    
  606.  pl%=2 
  607.  xpos%=750:ypos%=625
  608. %    
  609.  pl%=3 
  610.  xpos%=570:ypos%=200
  611. %    
  612.  pl%=4 
  613.  xpos%=750:ypos%=150
  614.         
  615. %    
  616.  pl%=1 
  617.  xpos%=570:ypos%=400
  618. %    
  619.  pl%=2 
  620.  xpos%=750:ypos%=300
  621.             
  622. score$=
  623. (score%(pl%))
  624. (score$)<3
  625. score$="0"+score$
  626.  loop%=1 
  627. (score$)
  628.  &2E,spop%+256,spr%,"NUM"+
  629. score$,loop%,1),xpos%-(
  630. (score$)*44)+44*loop%,yoff%+ypos%,0,scale%,0
  631. fadeout
  632.  &06,112,2
  633.  "OS_ReadVduVariables",vduin%,vduout%
  634.  &06,112,1
  635.  Save screen in other bank
  636.  "PsychoEffect_Fade",vduout%!4,vduout%!0,vduout%!8,60,320
  637.  loop%=60 
  638.  "PsychoEffect_Fade",vduout%!0,vduout%!4,vduout%!8,loop%,320
  639. fadeup
  640.  &06,112,2
  641.  "OS_ReadVduVariables",vduin%,vduout%
  642.  &06,112,1
  643.  loop%=0 
  644.  "PsychoEffect_Fade",vduout%!0,vduout%!4,vduout%!8,loop%,320
  645. savestuff
  646. savekeys
  647. saveoptions
  648.  Unbuffer mouse
  649.  X%,Y%,Z%
  650. savekeys
  651.  "XOS_CLI","Save <SFEops$Dir>.Keys &"+
  652. ~keys+" + &"+
  653. saveoptions
  654.  loop%=0 
  655. 7+options%!(28+(loop%*4))=ctrls%(loop%+1)
  656. options%!48=npl%
  657.  "XOS_CLI","Save <SFEops$Dir>.Options &"+
  658. ~options%+" + &"+
  659. loadoptions
  660.  "XOS_CLI","Load <SFEops$Dir>.Options &"+
  661. ~options%
  662.  loop%=0 
  663. @+ctrls%(loop%+1)=options%!(28+(loop%*4))
  664. npl%=options%!48
  665. options%!24=partexplo%
  666. plotnametags
  667.  div%
  668.  players%>2 
  669.  div%=2 
  670.  div%=1
  671.  ctrls%(1)=-1 
  672.  &2E,spop%+256,spr%,"cpu",508,(960-(420/div%))+yoff%,0,scale%,0
  673. a$="2up"
  674.  ctrls%(2)=-1 
  675.  a$="cpu"
  676.  &2E,spop%+256,spr%,a$,694,(960-(420/div%))+yoff%,0,scale%,0
  677.  players%>2 
  678. a$="3up"
  679.  ctrls%(3)=-1 
  680.  a$="cpu"
  681.  &2E,spop%+256,spr%,a$,508,(480-(420/div%))+yoff%,0,scale%,0
  682.  players%>3 
  683. a$="4up"
  684.  ctrls%(3)=-1 
  685.  a$="cpu"
  686.  &2E,spop%+256,spr%,a$,694,(480-(420/div%))+yoff%,0,scale%,0
  687. drawpausedscreen
  688.  Sets up the paused screen on the other bank
  689.  &6,112,2
  690.  Set it to a dogy scale setting
  691. scale%!4=2
  692.  vga%=
  693.  npl%<3 
  694.  scale%!4=4
  695. div%=1
  696.  npl%>2 
  697.  div%=2
  698. pause(64,(960-(128/div%))+yoff%)
  699. pause(832,(960-(128/div%))+yoff%)
  700.  npl%>2 
  701. pause(64,(960-(1088/div%))+yoff%)
  702.  npl%>3 
  703. pause(832,(960-(1088/div%))+yoff%)
  704.  &6,112,1
  705.  Set scale back to normal
  706.  vga%=
  707.      yoff%=0
  708.      res%=2:scale%!4=4
  709. p)     
  710.  players%>2 
  711.  res%=0:scale%!4=2
  712.      
  713.      yoff%=16*4
  714.      res%=0:scale%!4=2
  715. t)     
  716.  players%>2 
  717.  res%=1:scale%!4=1
  718.      
  719. pause(x%,y%)
  720.  vga%=
  721.  npl%>2 
  722.  loop%=2 
  723.  loop%=1 
  724.  &2E,spop%+256,spr%,"paused",x%,y%-(loop%*64)/div%,0,scale%,0
  725.